Tasks needed before the next release.

* TO BE DONE SHORTLY BEFORE RELEASE

** Make sure the necessary sources and scripts for any generated files
are included in the source tarfile.  (They don't need to be installed,
so eg admin/ is fine.)

** Manuals
Check for node names using problematic characters:
  find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} +
Sadly makeinfo does not warn about such characters.

Check for major new features added since the last release (e.g. new
lisp files), and add the relevant authors to the Acknowledgments in
doc/emacs/ack.texi and emacs.texi.

Check cross-references between the manuals (eg from emacs to elisp)
are correct.  You can use something like the following in the info
directory in the Emacs build tree:

emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
  -f info-xref-check-all

Setting Info-directory-list avoids having system info pages confuse
things.  References to external manuals will be flagged as
uncheckable.  You should still check these, and also that each
external manual has an appropriate redirect in the file manual/.htaccess
in the web pages repository.  E.g.:
Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html
Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/

Another tool you can use to check links is gnu.org's linc.py:
http://www.gnu.org/server/source/

You run this something like:

cd /path/to/cvs/emacs-www
linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ .

Be warned that it is really, really slow (as in, can take ~ a full day
to check the manual/ directory).  It is probably best to run it on a
single directory at a time from eg manual/html_node.  It is very
inefficient, but may reveal a few things that info-xref does not.


make emacs.dvi, elisp.dvi, and deal with any errors (undefined
references etc) in the output.  Break any overfull lines.
Underfull hboxes are not serious, but it can be nice to get rid of
them if a simple rephrasing or rearrangement will work.

Update the master menu and detailed menu (eg the antinews version).
The command texinfo-multiple-files-update can do this, but you
probably want to apply the results selectively (eg the current master
menu has better line-breaks than the automatic version).  It includes
the menu-entry name (if there is one) as well as the node name - using
only the latter looks better.  Also, it doesn't seem to handle nested
includes, so will miss edebug.texi etc.

Check for widow and orphan lines in the printed manual; make sure all
the pages really look ok in the manual as formatted.  Orphans/widows
are cases where the first/last line of a paragraph is on its own at
the end/start of a page, or where the last word in a paragraph is on
its own at the start of a line.  It looks better if you reword/respace
things to avoid these.  (AFAIK, there is no way to find these except
paging through the whole manual.)  This should be the very last thing
you do, since any change can alter the layout.
(Actually, there is probably little point in trying to do this.
It's only really relevant if printed versions of the manuals are going
to be published.  End-users are not likely to print out all 1000+
pages of the manuals, and even if they do, the resulting page breaks
depend on what paper and font size they use.  This also means that if
you _are_ going to do this, it should be done with the paper and font
size that the GNU Press are going to use when they print the manuals.
I think this is different to what you get if you just use eg `make
emacs.pdf' (e.g., enable "smallbook").

** Check the keybindings in the refcards are correct, and add any new ones.
What paper size are the English versions supposed to be on?
On Debian testing, the packages texlive-lang-czechslovak and
texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
(You may need texlive-lang-cyrillic, texlive-lang-german for others.)
The Makefile rules did not work for me, I had to use something like:
csplain -output-format=pdf cs-refcard

** Ask maintainers of refcard translations to update them.

Emacs 22 translators:

LANG	Translator            Status
cs	Pavel Janík           
de	Sven Joachim          
fr	Eric Jacoboni         
pl	Włodek Bzyl           
pt-br	Rodrigo Real          
ru	Alex Ott              
sk	Miroslav Vaško        

** For a major release, add a "New in Emacs XX" section to faq.texi.

** Remove temporary +++/--- lines in NEWS.

** Try to reorder NEWS: most important things first, related items together.

** Consider bumping customize-changed-options-previous-release.

** cusver-check from admin.el can help find new defcustoms missing
:version tags.

* BUGS

** Check for modes which bind M-s that conflicts with a new global binding M-s
and change key bindings where necessary.  The current list of modes:

1. Gnus binds `M-s' to `gnus-summary-search-article-forward'.

2. Minibuffer binds `M-s' to `next-matching-history-element'
   (not useful any more since C-s can now search in the history).

3. `center-line' in Text mode was already moved to the text formatting
   keymap as `M-o M-s' (thus this binding is not necessary any more
   in `nroff-mode-map' too and can be removed now from the nroff mode
   because it can now use the global key binding `M-o M-s' `center-line').

4. PCL-CVS binds `M-s' to `cvs-status', and log-edit-mode binds it to
   `log-edit-comment-search-forward'.  Perhaps search commands
   on the global key binding `M-s' are useless in these modes.

5. Rmail binds `\es' to `rmail-search'/`rmail-summary-search'.


* DOCUMENTATION

** Check the Emacs Tutorial.

The first line of every tutorial must begin with text ending in a
period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
language. This should be followed by "See end for copying conditions",
likewise in the respective language.

After each file name, on the same line or the following line, come the
names of the people who have checked it.

SECTION                  READERS
----------------------------------
TUTORIAL             cyd
TUTORIAL.bg          ogi
TUTORIAL.cn          xfq
TUTORIAL.cs          
TUTORIAL.de          wl
TUTORIAL.eo
TUTORIAL.es          
TUTORIAL.fr          
TUTORIAL.he          eliz
TUTORIAL.it          
TUTORIAL.ja          
TUTORIAL.ko
TUTORIAL.nl	     Pieter Schoenmakers
TUTORIAL.pl          
TUTORIAL.pt_BR       
TUTORIAL.ro
TUTORIAL.ru          Alex Ott
TUTORIAL.sk          
TUTORIAL.sl          Primoz PETERLIN
TUTORIAL.sv          Mats Lidell
TUTORIAL.th          
TUTORIAL.zh

** Check the manual.

abbrevs.texi      
ack.texi          
anti.texi         
arevert-xtra.texi 
basic.texi        
buffers.texi      
building.texi     
calendar.texi     
cal-xtra.texi     
cmdargs.texi      
commands.texi     
custom.texi       
dired.texi        
dired-xtra.texi   
display.texi      
emacs.texi        
emacs-xtra.texi   
emerge-xtra.texi  
entering.texi     
files.texi        
fixit.texi        
fortran-xtra.texi 
frames.texi       
glossary.texi     
help.texi         
indent.texi       
killing.texi      
kmacro.texi       
macos.texi        
maintaining.texi  
mark.texi         
mini.texi         
misc.texi         
modes.texi        
msdos.texi        
msdos-xtra.texi   
mule.texi         
m-x.texi          
package.texi      
picture-xtra.texi 
programs.texi     
regs.texi         
rmail.texi        
screen.texi       
search.texi       
sending.texi      
text.texi         
trouble.texi      
vc-xtra.texi      
vc1-xtra.texi     
windows.texi      
xresources.texi   

** Check the Lisp manual.

abbrevs.texi      
anti.texi         
back.texi         
backups.texi      
buffers.texi      
commands.texi     
compile.texi      
control.texi      
customize.texi    
debugging.texi    
display.texi      
edebug.texi       
elisp.texi
errors.texi       
eval.texi         
files.texi        
frames.texi       
functions.texi    
hash.texi         
help.texi         
hooks.texi        
index.texi
internals.texi    
intro.texi        
keymaps.texi      
lists.texi        
loading.texi      
macros.texi       
maps.texi         
markers.texi      
minibuf.texi      
modes.texi        
nonascii.texi     
numbers.texi      Paul Eggert (24.4)
objects.texi      
os.texi           
package.texi      
positions.texi    
processes.texi    
searching.texi    
sequences.texi    
streams.texi      
strings.texi      
symbols.texi      
syntax.texi       
text.texi         
tips.texi         
variables.texi    
windows.texi      


Local variables:
mode: outline
coding: utf-8
end:
